﻿' LibWowAPI
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Imports System.Collections.ObjectModel
Imports Newtonsoft.Json

Namespace roncliProductions.LibWowAPI.Item.Schema

    Friend Class item

        <JsonProperty()> Public Property id As Integer
        <JsonProperty()> Public Property disenchantingSkillRank As Integer
        <JsonProperty()> Public Property description As String
        <JsonProperty()> Public Property name As String
        <JsonProperty()> Public Property icon As String
        <JsonProperty()> Public Property stackable As Integer

        Private intAllowableClasses As New Collection(Of Integer)
        <JsonProperty()> Public ReadOnly Property allowableClasses As Collection(Of Integer)
            Get
                Return intAllowableClasses
            End Get
        End Property

        <JsonProperty()> Public Property boundZone As boundZone

        Private intAllowableRaces As New Collection(Of Integer)
        <JsonProperty()> Public ReadOnly Property allowableRaces As Collection(Of Integer)
            Get
                Return intAllowableRaces
            End Get
        End Property

        <JsonProperty()> Public Property itemBind As Integer

        Private bsBonusStats As New Collection(Of bonusStats)
        <JsonProperty()> Public ReadOnly Property bonusStats As Collection(Of bonusStats)
            Get
                Return bsBonusStats
            End Get
        End Property

        Private isItemSpells As New Collection(Of itemSpell)
        <JsonProperty()> Public ReadOnly Property itemSpells As Collection(Of itemSpell)
            Get
                Return isItemSpells
            End Get
        End Property

        <JsonProperty()> Public Property buyPrice As Integer
        <JsonProperty()> Public Property itemClass As Integer
        <JsonProperty()> Public Property itemSubClass As Integer
        <JsonProperty()> Public Property containerSlots As Integer
        <JsonProperty()> Public Property weaponInfo As weaponInfo
        <JsonProperty()> Public Property gemInfo As gemInfo
        <JsonProperty()> Public Property inventoryType As Integer
        <JsonProperty()> Public Property equippable As Boolean
        <JsonProperty()> Public Property itemLevel As Integer
        <JsonProperty()> Public Property itemSet As Integer
        <JsonProperty()> Public Property maxCount As Integer
        <JsonProperty()> Public Property maxDurability As Integer
        <JsonProperty()> Public Property minFactionId As Integer
        <JsonProperty()> Public Property minReputation As Integer
        <JsonProperty()> Public Property quality As Integer
        <JsonProperty()> Public Property sellPrice As Integer
        <JsonProperty()> Public Property requiredSkill As Integer
        <JsonProperty()> Public Property requiredAbility As requiredAbility
        <JsonProperty()> Public Property requiredLevel As Integer
        <JsonProperty()> Public Property requiredSkillRank As Integer
        <JsonProperty()> Public Property socketInfo As socketInfo
        <JsonProperty()> Public Property itemSource As itemSource
        <JsonProperty()> Public Property baseArmor As Integer
        <JsonProperty()> Public Property hasSockets As Boolean
        <JsonProperty()> Public Property isAuctionable As Boolean

    End Class

End Namespace
